package config

import (
	"io/ioutil"
	"log"

	"github.com/spf13/viper"
	"gopkg.in/yaml.v3"
)

var Jconfig = new(JustConfig)

func ReadConfig(path, name string) {
	vconfig := viper.New()

	vconfig.SetConfigName("config") //配置文件名（不带扩展名）
	vconfig.AddConfigPath(path)     //在项目中查找配置文件的路径，
	vconfig.SetConfigType("yaml")   //设置文件类型，这里是yaml文件

	//查找并读取配置文件
	err := vconfig.ReadInConfig()
	if err != nil { // 处理读取配置文件的错误
		panic(err)
	}

	if err := vconfig.Unmarshal(Jconfig); err != nil {
		panic(err)
	}
	log.Println(Jconfig)

}

// 直接通过yaml文件读取
func getYamlConf(filePath string) (err error) {
	// fmt.Printf("config path: %s\n", filePath)
	yamlFile, err := ioutil.ReadFile(filePath)
	if err != nil {
		return
	}
	return yaml.Unmarshal(yamlFile, Jconfig)
}
